package com.ym.medical.service;

import com.github.pagehelper.PageInfo;
import com.ym.core.utils.tkmybatis.IBaseSV;
import com.ym.medical.domain.entity.MindEntity;
import com.ym.medical.domain.param.MindQueryMobileParam;
import com.ym.medical.domain.param.MindUpdateParam;
import com.ym.medical.domain.param.TdRecordExampleParam;
import com.ym.medical.domain.vo.MindListMobileVO;
import com.ym.medical.domain.vo.MindVo;
import com.ym.medical.domain.vo.ToMindTdRecordVO;

import java.util.List;

/**
 * 心意Service接口
 *
 * @author ym
 * @date 2020-09-02
 */
public interface IMindSV extends IBaseSV<MindEntity> {

	/**
	 * PC端-账务系统 送心意记录展示
	 * @param tdRecordExampleVO 搜索条件构造
	 * @param pageNo
	 * @param limit
	 * @return
	 */
	PageInfo<ToMindTdRecordVO> listMindRecord(TdRecordExampleParam tdRecordExampleVO, int pageNo, int limit);

	/**
	 * 送心意记录分页
	 * @param mindModel
	 * @return
	 */
	List<MindListMobileVO> selectListMobile(MindQueryMobileParam mindModel);


	/**
	 * 查询心意记录数
	 * @param id 关联id
	 * @param thankSource 答谢来源
	 * @return
	 */
	int countByRelatedId(Long id, String thankSource);

	/**
	 * 根据问诊订单id查询心意记录
	 * @return
	 * @param orderId
	 */
	MindListMobileVO selectByOrderId(Long orderId);

	/**
	 * 根据订单号获取送心意记录
	 * @param ioNum
	 * @return
	 */
	MindListMobileVO getMindModelByIoNum(String ioNum);

	/**
	 * 患者答谢医生
	 * @param currId
	 * @param ioId
	 * @return
	 */
	MindVo selectMind(Long currId, Long ioId);

	/**
	 * 送心意
	 * @param param
	 * @return
	 */
	Long sendHeart(MindUpdateParam param);
}
